Skip to content

[action] [PR:23936] Add sonic-telemetry-sidecar container#1686

Closed
mssonicbld wants to merge 1 commit intoAzure:202412from
mssonicbld:cherry/msft-202412/23936
Closed

[action] [PR:23936] Add sonic-telemetry-sidecar container#1686
mssonicbld wants to merge 1 commit intoAzure:202412from
mssonicbld:cherry/msft-202412/23936

Conversation

@mssonicbld
Copy link
Collaborator

Why I did it

Create sidecar container which will stub systemd script, so that telemetry container rollout-ed via k8s could be managed by systemd script with naming change, as well as container checker logic.

Work item tracking
  • Microsoft ADO (number only):

How I did it

  1. Added systemd_stub service, which check sha256 for stub file regularly and overwrite
  2. Stub into /usr/local/bin/telemetry.sh, so that systemd cmd could keep compatible, but the implementation changes into kubectl
  3. Stub into monit container_checker, since container name will be changed when it's rollout-ed via k8s, but it will has label "raw_container_name=telemetry", thus update is in get_current_running_from_dockers
  4. Added env IS_V1_ENABLED to control telemetry.sh operation,
    IS_V1_ENABLED as true will recover system's original telemetry.sh which used as rollback case
    IS_V1_ENABLED as false will used to stub k8s supported telemetry.sh and move on upgrade.

How to verify it

image

tested on kubesonic env as well.
image

Which release branch to backport (provide reason below if selected)

  • 202205
  • 202211
  • 202305
  • 202311
  • 202405
  • 202411
  • 202505

Tested branch (Please provide the tested image version)

Description for the changelog

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

<!--
     Please make sure you've read and understood our contributing guidelines:
     https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

     ** Make sure all your commits include a signature generated with `git commit -s` **

     If this is a bug fix, make sure your description includes "fixes #xxxx", or
     "closes #xxxx" or "resolves #xxxx"

     Please provide the following information:
-->

#### Why I did it
Create sidecar container which will stub systemd script, so that telemetry container rollout-ed via k8s could be managed by systemd script with naming change, as well as container checker logic.

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it
1. Added systemd_stub service, which check sha256 for stub file regularly and overwrite
2. Stub into /usr/local/bin/telemetry.sh, so that systemd cmd could keep compatible, but the implementation changes into kubectl
3. Stub into monit container_checker, since container name will be changed when it's rollout-ed via k8s, but it will has label "raw_container_name=telemetry", thus update is in get_current_running_from_dockers
4. Added env IS_V1_ENABLED to control telemetry.sh operation,
   IS_V1_ENABLED as true will recover system's original telemetry.sh which used as rollback case
   IS_V1_ENABLED as false will used to stub k8s supported telemetry.sh and move on upgrade.

#### How to verify it
<img width="1571" height="370" alt="image" src="https://github.com/user-attachments/assets/cb3ecbc9-6806-4029-897e-21c476fa9e86" />

tested on kubesonic env as well.
<img width="1980" height="908" alt="image" src="https://github.com/user-attachments/assets/b9e73f7b-e972-459b-ab95-fe9b83b07b9d" />

<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 202205
- [ ] 202211
- [ ] 202305
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

<!--
 Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
@mssonicbld
Copy link
Collaborator Author

Original PR: sonic-net/sonic-buildimage#23936

@mssonicbld
Copy link
Collaborator Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@r12f
Copy link

r12f commented Oct 7, 2025

Closing this one in favor of #1698.

@r12f r12f closed this Oct 7, 2025
r12f pushed a commit that referenced this pull request Oct 9, 2025
Manually fix build issue for
#1686

<!--
Please make sure you've read and understood our contributing guidelines:
     https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

** Make sure all your commits include a signature generated with `git
commit -s` **

If this is a bug fix, make sure your description includes "fixes #xxxx",
or
     "closes #xxxx" or "resolves #xxxx"

     Please provide the following information:
-->

#### Why I did it

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it

#### How to verify it

<!--
If PR needs to be backported, then the PR must be tested against the
base branch and the earliest backport release branch and provide tested
image version on these two branches. For example, if the PR is requested
for master, 202211 and 202012, then the requester needs to provide test
results on master and 202012.
-->

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [ ] 202205
- [ ] 202211

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

<!--
Ensure to add label/tag for the feature raised. example - PR#2174 under
sonic-utilities repo. where, Generic Config and Update feature has been
labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on
https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants